1. Technical Field
The present invention is directed to managing a large distributed computer network. More particularly, the present invention is related to the field of application management in a large enterprise network.
2. Description of the Related Art
Enterprises now desire to place all of their computing resources on a computer network. To this end, it is known to connect computers in a large, geographically-dispersed network environment and to manage such an environment in a distributed manner. One such management framework, the Tivoli Managed Environment(trademark), comprises a server that manages a number of nodes, each of which has a local object database that stores object data specific to the local node. Each managed node typically includes a management framework, comprising a number of management routines, that is capable of a relatively large number (e.g., hundreds) of simultaneous network connections to remote machines. The framework manages hundreds of megabytes of local storage and can spawn many dozens of simultaneous processes to handle method requests from local or remote users. Of these nodes, only a small percentage are file servers, name servers, database servers, or anything other than end-of-wire or xe2x80x9cendpointxe2x80x9d machines. The majority of the network machines are simple personal computers (PCs) or workstations that see little management activity during a normal day.
Among the many features of the Tivoli ME system is the use of a lightweight client framework (xe2x80x9cLCFxe2x80x9d). The LCF is software that runs on an endpoint computer and that allows the management system to communicate with and manipulate the client computer. The LCF includes a query agent that starts up and executes as needed to respond to management queries directed to the node. In the LCF, preferably the storage of management data on the client computer is substantially eliminated. An LCF-supported client is thus sometimes referred to as xe2x80x9cdatalessxe2x80x9d. This architecture minimizes the chance of corruption of management data by users.
Management operations on a dataless client, e.g., installing new software or checking memory usage, are often performed on a machine as a whole. However, there are often applications or subsystems running on a machine that require a finer granularity of management as combined to the overall machine. These applications typically are those that have multiple installations or xe2x80x9cinstancesxe2x80x9d running independently. An example is a relational database system where multiple database instances of the application service different business applications (e.g., accounting and human resources). To manage these applications, it is desirable and often necessary to target operations at a specific application instance. As noted above, however, to conserve resources, the local query agent typically is only started upon receipt of the management query. When started, this routine does not necessarily know about the different application instances that may be executing on the machine, which complicates the management operation.
The present invention addresses this problem.
According to the invention, an entity, sometimes referred to as a xe2x80x9cproxyxe2x80x9d, is created to represent each instance of an application running on a client. The proxy, which may reside anywhere in the distributed network, is the target of management operations. It then redirects those operations to the appropriate client node.
The proxy preferably comprises a control routine, together with a data set describing a context of the application instance. Typical context information includes client node identity, installation location (e.g., directory), installation identifier (e.g., database server name), administrator username/password details, and the like. When a query is performed by a management server, the proxy preferably relays the query to the client node after augmenting it with the appropriate context information. Upon receipt of the query at the client, a query agent is started. The context information is then used by a local query agent to identify which of the many installed instances of the application to target for the management operation.
The proxy may also include or use a discovery mechanism to discover existing application instances on a client node. Alternatively, information about application instances are explicitly registered with the client proxy in a registration process. According to the present invention, the proxy preferably fully specifies the identity of an application instance targeted for a management operation.
In one aspect, the present invention describes a method of managing a set of clients in a distributed computer network having a management server. A given client preferably includes a dataless management framework. According to the method, a proxy object is associated to each application instance on a given client. The proxy object preferably includes a data set including information representing a context of the application instance. The application instance is then managed through the proxy object directly.
According to-another aspect of the invention, a proxy object is provided for use in managing an instance of an application executing on a client machine. The proxy object comprises a data set including information representing a context of the application instance, together with a control routine. The routine intercepts a query directed to the client machine for managing the application, modifies the query with the information, and then redirects the modified query to the client machine to target management of the application instance directly.
According to yet another aspect of the invention, a management framework is provided for use in distributed management operations. The framework comprises a management server to which a set of clients to be managed are connectable and, for each client, a set of proxy objects. As noted above, each proxy object is associated with a given instance of an application to be managed at the client and is responsive to management operations initiated at the management server for managing the application instance directly.
Thus, it is a more general object of the present invention to provide a set of proxy objects for managing application instances on a dataless client in large managed environment. In one embodiment, there is one proxy object per application instance.
Another more general object of this invention is to provide a finer degree of management control over a client machine operating in a distributed computer environment.
Still another object of the present invention is to provide a system that effectively manages multiple application instances in a managed environment comprising a set of dataless clients connected to a management server.
The foregoing has outlined some of the more pertinent objects of the present invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following Detailed Description of the preferred embodiment.